import oss2
import hashlib


def upload_image(filename, filedata):
    # 阿里云主账号AccessKey拥有所有API的访问权限，风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维，请登录 https://ram.console.aliyun.com 创建RAM账号。
    auth = oss2.Auth('LTAI4GEAduJNkWuXTSfeHmng', '6PJi9eNyEFXISbLOPioKrjp79kRIc6')
    # Endpoint以杭州为例，其它Region请按实际情况填写。
    bucket = oss2.Bucket(auth, 'http://oss-cn-chengdu.aliyuncs.com', 'ihome-666')
    secret = hashlib.sha256(filedata).hexdigest()
    # <yourObjectName>上传文件到OSS时需要指定包含文件后缀在内的完整路径，例如abc/efg/123.jpg。
    # <yourLocalFile>由本地文件路径加文件名包括后缀组成，例如/users/local/myfile.txt。
    recv_obj = bucket.put_object(secret, filedata)
    image_url = recv_obj.resp.response.url
    return image_url


if __name__ == '__main__':
    with open('/home/ubuntu/Desktop/2.jpg', 'rb') as f:
        filedata = f.read()
    filename = '456.jpg'
    image_url = upload_image(filename, filedata)
    print(image_url)
